home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Magazin/MacEasy 19
/
Mac Magazin and MacEasy Magazine CD - Issue 19.iso
/
Online
/
HttpServerƒ
/
•HTTP Server
/
TGMT.cp
< prev
next >
Wrap
Text File
|
1996-01-03
|
2KB
|
56 lines
// TGmt.cp - G M Time class object
//
// Apple Macintosh Developer Technical Support
// Written by: Vinne Moscaritolo
//
// Copyright (work in progress) Apple Computer, Inc All rights reserved.
//
// You may incorporate this sample code into your applications without
// restriction, though the sample code has been provided "AS IS" and the
// responsibility for its operation is 100% yours. However, what you are
// not permitted to do is to redistribute the source as "DSC Sample Code"
// after having made changes. If you're going to re-distribute the source,
// we require that you make it clear in the source that the code was
// descended from Apple Sample Code, but that you've made changes.
//
#include "TGMT.h"
#include <iomanip.h>
#include <OSUtils.h>
void TGmt::Now()
{
GetDateTime(&fTime);
};
unsigned long TGmt::Elapsed()
{
unsigned long now;
GetDateTime(&now);
return (now - fTime);
};
ostream &operator<< (ostream& s, const TGmt& t)
{
const char* wkday[]= {"XXX","Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
const char* month[] = {"XXX","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
DateTimeRec d;
MachineLocation loc;
long delta;
long savedflags;
// normalize for GMT
ReadLocation(&loc);
delta = 0x00FFFFFF & loc.u.gmtDelta;
if(delta & 0x00800000) delta |= 0xff000000;
// Convert to Stream
SecondsToDate(t.fTime - delta ,&d);
savedflags = s.setf(ios::right, ios::adjustfield);
s << setfill('0');
s << wkday[ d.dayOfWeek ] << ", " << setw(2) << d.day << " " << month[d.month] << " " << setw(4) << d.year << " ";
s << setw(2) << d.hour << ":" << setw(2) << d.minute << ":" << setw(2) << d.second <<" GMT";
s.setf(savedflags);
return s;
};